
import React from 'react'

/**
 * 引入 route 注意，这里安装的是6.2.1的版本的router-dom包
 * */
import { Route, Switch } from 'react-router-dom'

/**
 * routes匹配的路由作为参数传递
 * 使用switch做匹配
 * 判断routes数组，为假返回null，存在则遍历数组
 * */
const renderRoutes = (routes) => (
  routes ? (
    <Switch>
      {routes.map((route, i) => (
        // Route列表渲染
        <Route
          key={route.path}
          path={route.path}
          exact={route.exact}
          render={(props) => (

            /**
             * 返回子组件 <route.component /> 并传递参数
             * */
            route.render
              ? route.render({...props, route})
              : <route.component {...props} route={route} />
          )
          }
        />
      ))}
    </Switch>
  ) : null
)

export default renderRoutes
